Systems and methods for adaptive gesture recognition

ABSTRACT

Systems and methods are described for adaptively recognizing gestures indicated by user inputs received from a touchpad, touchscreen, directional pad, mouse or other multi-directional input device. If a user&#39;s movement does not indicate a gesture using current gesture recognition parameters, additional processing can be performed to recognize the gesture using other factors. The gesture recognition parameters can then be adapted so that subsequent user inputs that are similar to the previously-rejected inputs will appropriately trigger gesture commands as desired by the user. Gestural data or parameters may be locally or remotely stored for further processing.

CROSS REFERENCE TO RELATED APPLICATION

This application is a continuation of U.S. application Ser. No.12/978,949, filed Dec. 27, 2010 and is incorporated in its entiretyherein.

TECHNICAL FIELD

The present invention generally relates to user interfaces, and moreparticularly relates to systems and methods for recognizing gesturesfrom user inputs.

BACKGROUND

Many different computing devices such as portable or stationary computersystems, tablet computer systems, smart phones, personal digitalassistants (PDAs), media players, electronic book (“ebook”) readers andthe like have become extraordinarily popular in recent years. Many ofthese devices incorporate user interfaces that respond to the user'stouch, or to other inputs received in a two dimensional space. Examplesof input devices that process multi-directional inputs include touchscreens, touch pads, directional pads and the like, as well as moreconventional mice, joysticks, etc. Many smart phones and tabletcomputers, for example, have user interfaces that are primarily (if notentirely) designed around touch screens that recognize inputs applied tothe display by a user's finger, a stylus, or some other pointing object.

Often, multi-directional user inputs can be tracked over time or spaceand combined to form a single command commonly called a “gesture”. Ahorizontal finger swipe, for example, may be recognized within a webbrowser or ebook reader as a gesture input to change pages, or to moveforward or backward in a browsing history. A media player may recognizethe same horizontal movement to perform other tasks, such as changingchannels, performing a fast forward/rewind operation, or any other tasksas desired. Other gestures may involve vertical movements, rotationalmovements, taps, presses, holds and/or other user inputs tracked overtime or over the multi-directional sensing region of the input device.

Often, however, certain devices may have difficulty in recognizinggestural inputs applied by certain users. While some users may intend toprovide gestural inputs, their actual inputs applied to the sensingregion of the device may be imperfect, and therefore difficult torecognize. If the user attempts to enter gestures that are notrecognized by the input device, the user may become frustrated. Further,variations between different movements applied by different users canlead to gestural constraints that are overly restrictive for certainusers, but that are nevertheless unable to recognize gestures producedby other users.

It is therefore desirable to improve recognition of gestures in userinputs detected by touch screens, touch pads, directional pads and/orother multi-directional input devices. These and other desirablefeatures and characteristics will become apparent from the subsequentdetailed description and the appended claims, taken in conjunction withthe accompanying drawings and this background section.

BRIEF SUMMARY

According to various embodiments, systems and methods are described foradaptively recognizing gestures indicated by user inputs received from atouchpad, touchscreen, directional pad, mouse or other multi-directionalinput device. If a user's movement does not indicate a gesture usingcurrent gesture recognition parameters, additional processing can beperformed to recognize the gesture using other factors. The gesturerecognition parameters can then be adapted so that subsequent userinputs that are similar to the previously-rejected inputs willappropriately trigger gesture commands as desired by the user. In someembodiments, gestural data and/or parameters may be locally or remotelystored for further processing.

Various embodiments provide a method to process user inputs receivedfrom a multi-directional input device. The method may be executed by aninput device itself, by device driver associated with an input device,by a processor or other component of a computing system that performsfunctions in response to software or firmware instructions, by a serverthat receives user input data via a network, and/or by any otherprocessing device or logic. The method suitably comprises receiving atleast one of the user inputs from the multi-directional input device;determining if the at least one user input forms a gesture based upon aset of parameters; if the at least one user input does not form thegesture based upon the set of parameters, attempting to recognize thegesture based upon other factors that are different from the set ofparameters; and if the gesture is recognized based upon the otherfactors, adapting the set of parameters based upon the at least one userinput.

Other embodiments suitably provide a computing system that comprises aninput device having a multi-directional sensing region and a processor.The input device is configured to sense user inputs relative to amulti-directional sensing region and to provide output signalsindicative of the sensed user inputs. The processor is configured toreceive the output signals from the input device and to initiallyrecognize gestures from at least some of the sensed user inputsindicated in the output signals based upon a set of parameters, and torecognize subsequent gestures based upon an adapted set of parametersthat is adapted based upon previously-received user inputs.

Still other embodiments provide a method executable by a computingsystem, server or other data processing logic to process user inputsobtained from at least one multi-directional input device. The methodsuitably comprises receiving the user inputs; identifying at least someof the user inputs that are not recognized as gestures based upon a setof parameters, but that are recognized as gestures based upon otherfactors that are different than the set of parameters; and adapting theset of parameters based upon the identified user inputs to create anadapted set of parameters.

Various other embodiments, aspects and other features are described inmore detail below.

BRIEF DESCRIPTION OF THE DRAWING FIGURES

Exemplary embodiments will hereinafter be described in conjunction withthe following drawing figures, wherein like numerals denote likeelements, and

FIG. 1 is a block diagram showing various components of an exemplaryprocessing system that includes adaptive gesture recognition; and

FIG. 2 is a flowchart of an exemplary process for adaptively recognizinggestures from user inputs.

DETAILED DESCRIPTION

The following detailed description of the invention is merely exemplaryin nature and is not intended to limit the invention or the applicationand uses of the invention. Furthermore, there is no intention to bebound by any theory presented in the preceding background or thefollowing detailed description.

According to various embodiments, adaptive gesture recognition isapplied within an application, a computer system, a hardware or softwaredevice driver and/or an input device to identify actual user behaviorsand to adapt gestural recognition parameters based upon the actualbehaviors of the user. If a particular user consistently makesshorter-than-expected movements for a particular gesture, for example,the parameters used to recognize that particular gesture can be adaptedso that the user's actual behavior is recognized as producing theintended gesture. This can significantly reduce frustration by the userand greatly enhance user satisfaction with the adaptive product.

Adaptive gesture recognition may be applied with respect to particularusers by storing the adapted parameters for use during subsequentsessions with the same user. In some implementations, the adaptedparameters are stored locally at the user's input device or computersystem. Other implementations may additionally or alternately store theadapted parameters at a network server or other shared location so thatthe user's adapted parameters are accessible from different computingsystems. Still other embodiments may use aggregate data compiled fromany number of users to adjust default settings, or to otherwise adaptthe parameters used to recognize gestures used by multiple users of thesame system or application. Other features, enhancements and othervariations are described in increasing detail below.

Turning now to the drawing figures and with initial reference to FIG. 1,an exemplary system 100 could incorporate adaptive gestural recognitionwithin an input device 102, a computing system 104, a device controller121 and/or a software application 130, as appropriate. The system 100illustrated in FIG. 1 shows a multi-dimensional input device 102 thatprovides signals 103 to a device controller 121 or other feature ofcomputing system 104, which reports the received user inputs 132 to agestural recognition module 131 or other feature of a softwareapplication 130. Gestural recognition module 131 suitably compares theuser inputs 132 to gestural recognition parameters 133 to identifygestures in the user's movements 113, 115, 117. If a gesture isrecognized, then a corresponding command 134 is provided to a mediaplayer, web browser, productivity application or other data processingmodule 135 as appropriate. The various features and functions ofgestural recognition module 131 could be equivalently incorporatedwithin the input device 102 itself, within the input device controller121, within the operating system 128 of computing system 104, or in anyother hardware or software processing logic within system 100, asdesired.

Input device 102 is any device or component capable of sensing userinputs within a multi-dimensional input space 110. Input device 102 maybe a touch pad, touch screen, touch stick, directional pad, joystick,mouse, trackball or the like, to name just a few examples. Typically,input device 102 detects user motions 113, 115, 117 within the sensingregion 110, and provides corresponding output signals 103 to a devicecontroller 121 or the like. Although FIG. 1 shows input devicecontroller 121 as part of the hardware 120 associated with computingsystem 104, in practice device controller 121 may be implemented withina microcontroller or other processing circuitry that is physicallyand/or logically located within input device 102. Signals 103 mayindicate the absolute (“X, Y”), relative (“ΔX, ΔY”) and/or otherposition of one or more inputs applied by the user. Such inputs mayrespond to a finger or stylus applied to a touchpad or touch screen, forexample, or to the user's manipulation of a mouse, joystick, trackballor the like.

Although not shown in FIG. 1, input device 102 may also include a“select” button or similar feature that allows for selection of objects,as appropriate. Various gestures may incorporate actual or virtual“button pushes”, such as presses or holds of actual mechanical buttonsprovided as part of input device 102. Other embodiments may alsoconsider presses and/or holds of “virtual” buttons within sensing region110. Any number of additional features, including presses, holds,clicks, multi-clicks, drags and/or the like may be similarly consideredin any number of other embodiments.

Computing system 104 is any data processing device capable of processinguser inputs to perform desired tasks. Various types of computing systems104 may include, without limitation, any sort of portable or stationarypersonal computer or workstation, tablet computer system, media player,personal digital assistant, game playing system, mobile telephone,e-book reader, television, television receiver, audio receiver, consumerelectronic device, appliance and/or the like.

Generally speaking, computing system 104 suitably includes conventionalhardware 120 that processes data as directed by one or more softwareapplications 130. FIG. 1, for example, shows computing system 104 asincluding a conventional processor 125 and memory 126, as well as anynumber of input/output interfaces, such as a network interface 122, diskor other storage interface 123, input device controller 121, and anyadditional input/output interfaces 124 (e.g., a display driver) asdesired. Typically, applications 130 interact with the hardware 120 viaany sort of conventional operating system 128. The exemplary featuresshown in FIG. 1 may be adapted or supplemented as desired to accommodatedifferent hardware or software designs as may be appropriate fordifferent types of computing systems 104.

Computing system 104 may, in some embodiments, communicate with a remoteserver 106 via a network 105. Server 106 may provide remote storage andretrieval of information, and/or any other data processing services asappropriate. Network 105 is any sort of local area, wide area or othernetwork that supports data communications using any conventionalprotocols. Network 105 may represent a conventional wired or wirelessLAN/WAN, the Internet, a telephone network, a corporate or other privatenetwork, and/or any other network or combination of networks as desired.

Gestures are recognized within system 100 in any manner. In variousembodiments, a gesture is recognized when the user's movements appliedwithin the sensing region 110 of input device 102 follow a track orpattern that is defined by one or more parameters 133, as appropriate. Ahorizontal swipe, for example, may be defined by parameters 133specifying movement through sensing region 110 that proceeds from astarting position 111 and that remains within a confined region 112 fora particular distance 114. If signals 103 and/or user inputs 132indicate that the user's motion follows path 113 from starting position111 for a distance 114 in this example, then gestural recognition module131 may appropriately recognize a “horizontal swipe” gesture. Any numberof other gestures could be additionally or alternately considered,including any gestures correlating to movements in different directions(e.g., right-to-left, vertical movements, rotational movements and/orthe like), movements of different velocities, movements applied atparticular times or durations, taps, sequences of taps, tap and holdactions, tap and drag actions, tap-hold and drag actions, movements thatbegin or end at particular locations within sensing region 110, and/orthe like.

Gestures suitably correlate to commands 134 provided to a web browser,media player or other data processing module 135. An exemplary mediaplayer could respond to the horizontal swipe, for example, by changingtelevision channels, performing forward or backward navigation, or byotherwise adjusting an output 136 presented to the user. Web browsers,productivity applications or other data processing modules 135 mayrespond to the horizontal swipe gesture in any other manner, as desired.Although the example illustrated in FIG. 1 shows gestural recognitionmodule 131 providing user commands 134 to a single data processingmodule 135, alternate embodiments could provide simultaneous and/orsequential commands 134 to any number of data processing modulesrepresenting different applications, programs or other processesexecuting within application space 130.

As noted above, however, the parameters 133 that define one or moregestures may not be ideally suited for some users. Some users may expectgestures to be recognized with longer or shorter movements, for example,or users may unwittingly provide imprecise movements within sensingregion no that are not initially recognized as gestures. FIG. 1 shows anexemplary user movement 115 that lies within the confined region 112 fora horizontal swipe gesture, but that does not extend for the fulldistance 114 required to recognize the gesture based upon currentparameters 133. FIG. 1 also shows an exemplary user movement 117 thatextends for the expected distance 114, but that lies outside of theconfined region 112. Motion 117 may result, for example, if the user'shand position differs from the expected position that would ordinarilyprovide properly horizontal movement. If the user moved along paths 115or 117, then, such movements would not ordinarily fall within parameters133 that define the region 112 associated with the gesture, so thegesture intended by the user would not be recognized.

By adapting parameters 133 based upon actual user inputs 132, however,the region 112 that defines one or more gestures can be modified to suitthe actual behaviors of the user. If the user is observed toconsistently move along path 115 without extending the full distance 114typically needed to identify the gesture, for example, one or moreparameters 133 could be adjusted so that movement for a shorter distance116 triggered the gesture during subsequent operation. Similarly,consistent movement along path 117 could result in changes to parameters133 that would place path 117 within the defined region 112 associatedwith the particular gesture. Other adaptations to parameters 133 mayaccommodate other user motions on sensing region 110 and/or other typesof user inputs (e.g., button presses, holds, drags, etc.) as desired.

FIG. 2 shows an exemplary method 200 to process adaptive recognition ofgestures indicated by user movements on a multi-directional input device102. The particular functions and features shown in FIG. 2 may beexecuted, for example, by a gestural recognition module 131 executing insoftware 130 or firmware on computing system 104. In such embodiments,software instructions stored in memory 126 or storage 123 can beexecuted by processor 125 to carry out the various functions shown.Equivalent embodiments may execute some or all of method 200 withinhardware, software and/or firmware logic associated with devicecontroller 121, within operating system 128, within input device 102itself, at a remote server 106, and/or in any other location using anysort of data processing logic. Some embodiments may perform functions201-206 at a local computing system 104, for example, while performingfunctions 208-212 at a server that is accessible to the local computingsystem 104 via network 105. The various functions and features shown inFIG. 2 may be supplemented or modified in any number of equivalentembodiments.

Method 200 suitably includes receiving a user input 132 from themulti-directional input device 102 (function 202) and determining if agesture is formed by the user input 132 based upon a set of parameters133 (function 204). If the gesture is not formed based upon the set ofparameters 133, the method may nevertheless attempt to recognize thegesture based upon other factors that are different from the set ofparameters 133 (function 208). If the gesture is recognized based uponthe other factors, one or more of the parameters 133 can be adapted(function 210) as desired. In some embodiments, the adapted parametersmay be locally and/or remotely stored (function 212) for subsequentretrieval (function 201), or for any other purpose.

The various parameters 133 that define gestural movements within sensingregion 110 may be initially defined in any manner (function 201). Invarious settings, the parameters 133 are initially defined based upondefault values, based upon expectations or behavior of average users,and/or upon any other factors. Some embodiments may initially defineparameters 133 to be relatively stringent (e.g., to prevent falserecognition of unintended gestures), or to be relatively permissive(e.g., to allow relatively imprecise movement by the user to trigger agesture). In some embodiments, the permissivity of gesture recognitionparameters 133 may be selected and adjusted by the user or anadministrator using conventional user interface features, as desired.Some embodiments may initially obtain parameters 133 from a localsource, such as from default values configured in module 131, from priorparameters 133 stored in memory 126 or storage 123, and/or the like.Other implementations may initially obtain parameters 133 from a remoteservice (e.g., server 106 via network 105), as described more fullybelow.

User inputs 132 are received in any manner (function 202). User inputs132 are any signals or data that can be processed to ascertain theuser's motion with respect to sensing region 110 of input device 102. Inthe implementation described above, user inputs 132 are received at agestural recognition module 131 from device controller 121, whichsuitably constructs the user input signals 132 from the raw motionsignals 103 received from the input device 102 itself. Other embodimentsmay not provide signals 103 that are separately-identifiable from userinputs 132. Still other embodiments may incorporate gesture recognitionwithin device controller 121 so that gestural commands 134 issuedirectly from controller 121. Other embodiments may combine or otherwiseprocess the information contained within signals 103, 132 and 134 in anyother manner.

If the user inputs 132 indicate movement within the parameters 133 thatdefine an existing gestural region 112, then a gesture can be readilyidentified (function 204), and a user command 134 can be issued, orotherwise processed (function 206). If function 204 does not recognize agesture based upon the then-current parameters 133, however, thenadditional processing may take place as desired. In someimplementations, unrecognized gestures may be initially (anderroneously) processed as cursor movement, scrolling or other defaultbehaviors if a gesture cannot be identified in any other manner.

Various embodiments further attempt to recognize gestures from thereceived user inputs 132 using other factors (function 208). The otherfactors may include, for example, an approximation of the parameters133, subsequent actions taken by the user, the setting in which theuser's input was provided, and/or other factor as desired. Repetitionand context may also be considered in various embodiments. Function 208may be performed in real time as the user inputs are received in someembodiments. Equivalently, function 208 may be performed at a later timeso that subsequent user inputs may also be considered, or for any otherreason. As noted above, functions 208-212 may be processed at a server106 or other location that is remote from the user input device 102.Such embodiments may support batch processing, or processing of inputsreceived from any number of users and/or devices on any temporal basis.

Gesture recognition in function 208 may consider any appropriateinformation or other factors. To recognize an intended gesture basedupon an approximation, for example, various embodiments could considergestures having parameters 133 that most closely match the actualmovements indicated by the user inputs 132. FIG. 1, for example, showstwo movements 115 and 117 that may be close enough to movement 113 thatthe user's intentions can be inferred. Within the context of anapplication where a gesture input is expected, for example, the“closest” gesture can be more readily determined. A media playerapplication 135, for example, may limit cursor movement or othernon-gestural interface features in some settings and situations so thatnavigation or other gestural controls can be more readily isolated andrecognized.

Other embodiments may recognize intended gestures based upon subsequentuser inputs 132. If a user tries unsuccessfully to trigger a gesturecommand 134, he or she will often try again to complete the same action.If a particular sequence of user movements is not initially recognized,then, subsequent user movements that result in a recognized gesture canbe compared to the earlier movements to determine whether the earliermovements represented an attempt to provide gestural input.

If the user makes multiple unsuccessful attempts to complete the samegesture, the data from the prior attempts may also be considered forboth recognizing the gesture and modifying the parameters 133 associatedwith the gesture, as appropriate. Although the unsuccessful gestureattempts may not be recognized in time to complete the intended action,they may nevertheless provide additional data that can improve futuregesture recognition in some embodiments. Other embodiments may considerany number of alternate or additional features or gesture recognitiontechniques, as desired.

When a gesture is recognized based upon the factors other than thethen-current parameters 133 (function 208), then the parameters 133 maybe adapted as desired (function 210) to more closely correspond with theuser's intended actions. In the horizontal swipe gesture described withrespect to FIG. 1, for example, a movement 115 that extends for ashorter distance 116 than the parameter distance 114 could result inchanging the parameter distance to a value that is more in line withuser expectations. Similarly, a movement along path 117 could result inchanging the parameters 133 that define region 112, as appropriate.

Various embodiments may not necessarily adapt parameters 133 upon eachrecognized gesture, but may instead make adaptations based uponrepetitive behaviors observed over time. If a user is consistentlyobserved to make shorter movements 115 instead of intended movements113, for example, the distance parameter may be modified only after athreshold number of intended gestures have been recognized.

The amount of adaptation may be similarly determined in any manner.Various embodiments may adjust spatial or temporal parameters (e.g.,distance 114, or the layout of region 112, time between clicks or buttonpresses, etc.) based upon averages or other combinations of dataobtained from multiple gesture attempts. Some embodiments may considerdata from successful as well as unsuccessful gesture recognition.Various embodiments may apply any sort of adaptation algorithms orheuristics that could modify the occurrence, magnitude and/or frequencyof parameter updates as desired.

The adapted parameters 133 are appropriately stored for subsequent useor analysis (function 212). In some embodiments, the adapted parameters133 are stored locally at computing system 104 (e.g., in memory 126,disk or other storage 123, or elsewhere) for retrieval and use duringsubsequent operations. In other embodiments, the adapted parameters 133are stored remotely (e.g., on server 106) so that the user may obtainhis or her customized settings even while using other computing systems104, or to permit analysis of the gestures attempted by multiple usersso that default or other settings of parameters 133 can be improved.

To that end, some embodiments may additionally or alternately allowserver 106 to receive adjusted parameters 133 and/or user inputs 132from any number of users, input devices 102 and/or computing systems104. Server 106 may therefore analyze empirical data obtained frommultiple users to thereby generate improved default or other values forparameters 133.

As noted above, then, functions 208 and 210 may be performed at aremotely-located server 106 based upon user inputs 132 received fromcomputing system 104. While such analysis may not necessarily supportreal-time recognition of intended gestures, it would nevertheless allowthe initial parameters obtained at function 201 to be improved overtime. The adapted parameters 133 could then be returned to computingsystem 104 as part of function 201, or otherwise as appropriate. Theparameters 133 that are obtained in function 201 could be determinedsolely based upon inputs received from a particular user or from aparticular computing system to optimize gesture recognition for aparticular user. Alternately, the obtained parameters 133 could be basedupon information obtained from multiple users operating multiplecomputing systems 104, as appropriate. Parameters may be adapted basedupon the individual user behaviors and/or shared behaviors of multipleusers, as desired. The resulting adapted parameters 133 can then beshared from server 106 with any number of users, computing system 104and/or input devices 102 as desired. To that end, function 201 in someembodments could involve obtaining or updating initial parameters 133from server 106 or elsewhere on any regular or irregular temporal basis,or as otherwise needed.

While the foregoing detailed description will provide those skilled inthe art with a convenient road map for implementing various embodimentsof the invention, it should be appreciated that the particularembodiments described above are only examples, and are not intended tolimit the scope, applicability, or configuration of the invention in anyway. To the contrary, various changes may be made in the function andarrangement of elements described without departing from the scope ofthe invention.

What is claimed is:
 1. A method to process user inputs received from amulti-directional input device, the method comprising: receiving atleast one of the user inputs from the multi-directional input device;determining if the at least one user input forms a gesture based upon aset of parameters; if the at least one user input does not form thegesture based upon the set of parameters, attempting to recognize thegesture based upon other factors that are different from the set ofparameters; and if the gesture is recognized based upon the otherfactors, adapting at the set of parameters based upon the at least oneuser input.
 2. The method of claim 1 further comprising storing theadapted set of parameters in a storage.
 3. The method of claim 2 furthercomprising retrieving the adapted set of parameters prior to performingsubsequent determination of gestures formed by subsequent user inputs.4. The method of claim 2 wherein the adapted set of parameters is storedat a remotely-located server system accessible via a network.
 5. Themethod of claim 4 further comprising retrieving the set of parametersfrom the remotely-located server system prior to the determining.
 6. Themethod of claim 1 further comprising issuing a user command in responseto the gesture if the gesture is recognized from either the set ofparameters or the other factors.
 7. The method of claim 6 wherein theuser command is issued to adjust an interface feature of a media playerapplication.
 8. The method of claim 1 wherein the other factors comprisean approximation of the set of parameters.
 9. The method of claim 1wherein the other factors comprise subsequent user inputs received afterthe at least one user input.
 10. The method of claim 1 wherein the setof parameters comprises a distance travelled for at least one gesture,and wherein the adapting comprises shortening the distance travelled forthe at least one gesture.
 11. The method of claim 1 wherein theshortening comprises setting a new distance based upon a distancetravelled in the at least one user input.
 12. A computing systemcomprising: an input device having a multi-directional sensing region,wherein the input device is configured to sense user inputs relative toa multi-directional sensing region and to provide output signalsindicative of the sensed user inputs; and a processor configured toreceive the output signals from the input device and to initiallyrecognize gestures from at least some of the sensed user inputsindicated in the output signals based upon a set of parameters, and torecognize subsequent gestures based upon an adapted set of parametersthat is adapted based upon previously-received user inputs.
 13. Thecomputing system of claim 12 further comprising a network interfaceconfigured to facilitate communication on a network, and wherein theprocessor is configured to communicate with a server on the network viathe network interface.
 14. The computing system of claim 13 wherein theprocessor is further configured to provide at least some of the senseduser inputs to the server on the network to thereby allow the server toadapt at least some of the parameters in response to the sensed userinputs, and wherein the processor is further configured to receive theadapted set of parameters from the server on the network.
 15. Thecomputing system of claim 14 the set of parameters received from theserver on the network is adapted based upon user inputs provided by aplurality of users operating a plurality of computing systems.
 16. Thecomputing system of claim 12 wherein the processor is further configuredto adapt the set of parameters based upon sensed user inputs that arenot recognized as the gestures.
 17. A computer-executable method toprocess user inputs obtained from at least one multi-directional inputdevice, the method comprising: receiving the user inputs; identifying atleast some of the user inputs that are not recognized as gestures basedupon a set of parameters, but that are recognized as gestures based uponother factors that are different than the set of parameters; andadapting the set of parameters based upon the identified user inputs tocreate an adapted set of parameters.
 18. The method of claim 17 whereinthe method is executable by a server that receives the user inputs froma plurality of computing systems and that provides the adapted set ofparameters to each of the plurality of computing systems via a network.19. The method of claim 17 wherein the method is executable by aprocessor in a computing system that comprises the at least onemulti-directional input device, and wherein the processor is configuredto recognize gestures in subsequent user inputs received from the atleast one multi-directional input device based upon the adapted set ofparameters.
 20. The method of claim 17 wherein the identifying comprisescomparing at least some of the user inputs to subsequently-received userinputs that were recognized as gestures.